package com.warmheart.builder.user;

import com.warmheart.core.rs.base.BaseRsBuilder;
import com.warmheart.core.rs.oper.Rs;
import com.warmheart.entity.user.UserBase;

/**
 * 
 * @ClassName: UserBase
 * @Description: 用户实体RsBuilder类，对应表名称为tb_user_base
 *               温馨提示：不要修改该实体RsBuilder类的任何字段
 * @author ZhangJianyang
 * @date 2025年06月16日 下午13:05:35
 *
 */
public class UserBaseRsBuilder extends BaseRsBuilder<UserBase, UserBaseRsBuilder> {

    private final UserBase t;

    @Override
    protected UserBaseRsBuilder self() {
        return this;
    }

    @Override
    public UserBase core() {
        return this.t;
    }

    public UserBaseRsBuilder(UserBase userBase) {
        t = userBase;
    }

    /**
     * 真实姓名
     */
    private Rs<UserBase, UserBaseRsBuilder> realName;

    /**
     * 邮箱
     */
    private Rs<UserBase, UserBaseRsBuilder> email;

    /**
     * 手机号
     */
    private Rs<UserBase, UserBaseRsBuilder> phone;

    /**
     * 部门
     */
    private Rs<UserBase, UserBaseRsBuilder> department;

    /**
     * 职位
     */
    private Rs<UserBase, UserBaseRsBuilder> position;

    /**
     * 是否激活
     */
    private Rs<UserBase, UserBaseRsBuilder> state;

    /**
     * 最后登录时间
     */
    private Rs<UserBase, UserBaseRsBuilder> lastLogin;

    public Rs<UserBase, UserBaseRsBuilder> realName() {
        if (this.realName == null) {
            this.realName = new Rs<UserBase, UserBaseRsBuilder>(self(), "real_name", "realName");
        }
        return this.realName;
    }

    public Rs<UserBase, UserBaseRsBuilder> email() {
        if (this.email == null) {
            this.email = new Rs<UserBase, UserBaseRsBuilder>(self(), "email", "email");
        }
        return this.email;
    }

    public Rs<UserBase, UserBaseRsBuilder> phone() {
        if (this.phone == null) {
            this.phone = new Rs<UserBase, UserBaseRsBuilder>(self(), "phone", "phone");
        }
        return this.phone;
    }

    public Rs<UserBase, UserBaseRsBuilder> department() {
        if (this.department == null) {
            this.department = new Rs<UserBase, UserBaseRsBuilder>(self(), "department", "department");
        }
        return this.department;
    }

    public Rs<UserBase, UserBaseRsBuilder> position() {
        if (this.position == null) {
            this.position = new Rs<UserBase, UserBaseRsBuilder>(self(), "position", "position");
        }
        return this.position;
    }

    public Rs<UserBase, UserBaseRsBuilder> state() {
        if (this.state == null) {
            this.state = new Rs<UserBase, UserBaseRsBuilder>(self(), "state", "state");
        }
        return this.state;
    }

    public Rs<UserBase, UserBaseRsBuilder> lastLogin() {
        if (this.lastLogin == null) {
            this.lastLogin = new Rs<UserBase, UserBaseRsBuilder>(self(), "last_login", "lastLogin");
        }
        return this.lastLogin;
    }
}